# # Set build-directive (used in core to tell which buildtype we used)
# target_compile_definitions(trinity-compile-option-interface
#   INTERFACE
#     -D_BUILD_DIRECTIVE="${CMAKE_BUILD_TYPE}")

# set(GCC_EXPECTED_VERSION 6.3.0)

# if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_EXPECTED_VERSION)
#   message(FATAL_ERROR "GCC: TrinityCore requires version ${GCC_EXPECTED_VERSION} to build but found ${CMAKE_CXX_COMPILER_VERSION}")
# endif()

# if(PLATFORM EQUAL 32)
#   # Required on 32-bit systems to enable SSE2 (standard on x64)
#   target_compile_options(trinity-compile-option-interface
#     INTERFACE
#       -msse2
#       -mfpmath=sse)
# endif()
# target_compile_definitions(trinity-compile-option-interface
#   INTERFACE
#     -DHAVE_SSE2
#     -D__SSE2__)
# message(STATUS "GCC: SFMT enabled, SSE2 flags forced")

# if( WITH_WARNINGS )
#   target_compile_options(trinity-warning-interface
#     INTERFACE
#       -W
#       -Wall
#       -Wextra
#       -Winit-self
#       -Winvalid-pch
#       -Wfatal-errors
#       -Woverloaded-virtual)

#   message(STATUS "GCC: All warnings enabled")
# endif()

# if( WITH_COREDEBUG )
#   target_compile_options(trinity-compile-option-interface
#     INTERFACE
#       -g3)

#   message(STATUS "GCC: Debug-flags set (-g3)")
# endif()

# if (BUILD_SHARED_LIBS)
#   target_compile_options(trinity-compile-option-interface
#     INTERFACE
#       -fPIC
#       -Wno-attributes)

#   target_compile_options(trinity-hidden-symbols-interface
#     INTERFACE
#       -fvisibility=hidden)

#   # Should break the build when there are TRINITY_*_API macros missing
#   # but it complains about missing references in precompiled headers.
#   # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--no-undefined")
#   # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined")

#   message(STATUS "GCC: Enabled shared linking")
# endif()
